package com.zxy.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <p>
 *
 * </p>
 *
 * @author Zxy
 * @since 2021-05-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
public class Student implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 身份证号
     */
    @NotBlank(message = "身份证号不能为空")
    private String idCard;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空")
    private String name;

    /**
     * 年龄
     */
    @NotNull(message = "年龄不能为空")
    private Integer age;

    /**
     * 性别
     */
    private String sex;

    /**
     * 密码
     */
    private String password;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 省份
     */
    @NotBlank(message = "省份不能为空")
    private String province;

    /**
     * 所在学院
     */
    @NotBlank(message = "学院不能为空")
    private String college;

    /**
     * 民族
     */
    @NotBlank(message = "民族不能为空")
    private String nation;

    /**
     * 一卡通卡号
     */
    private String card;

    /**
     * 管理员权限字段，复用学生表，默认0
     */
    private Integer role = 0;

    /**
     * 学生审核状态，0代表未审核，1代表审核，默认0
     */
    private Integer status = 0;

    /**
     * 返回token用作登录认证
     */
    @TableField(exist = false)
    private String token;

    /**
     * 逻辑删除
     */
    @TableLogic
    private Integer isDel;


}
